package br.com.fogas.database.dao.impl;

import java.sql.SQLException;
import java.util.Collection;
import java.util.List;

import com.j256.ormlite.dao.BaseDaoImpl;
import com.j256.ormlite.stmt.QueryBuilder;
import com.j256.ormlite.support.ConnectionSource;

import br.com.fogas.database.IMetadata.ICondicaoPagto;
import br.com.fogas.database.dao.ICondicaoPagtoDao;
import br.com.fogas.database.entidade.CondicaoPagto;
import br.com.fogas.webservice.parser.condicoes.T_Cond_Pgto_Item;

public class CondicaoPagtoDao extends BaseDaoImpl<CondicaoPagto, Integer> implements ICondicaoPagtoDao{

	public CondicaoPagtoDao(ConnectionSource connectionSource) throws SQLException {
		super(connectionSource, CondicaoPagto.class);
	}

	@Override
	public void sincronizar(Collection<T_Cond_Pgto_Item> items) throws SQLException {
		for(T_Cond_Pgto_Item item: items) {
			create(new CondicaoPagto(item));
		}
	}

	@Override
	public List<CondicaoPagto> listarCondicoesPorCodigo(String codigo)
			throws SQLException {
		QueryBuilder<CondicaoPagto, Integer> query = queryBuilder();
		List<CondicaoPagto> condicoes = query.where().eq(ICondicaoPagto.tx_cod, codigo).query();
		return condicoes;
	}

	@Override
	public CondicaoPagto listarCondicaoPorCodigo(String codigo)
			throws SQLException {
		List<CondicaoPagto> condicoes = listarCondicoesPorCodigo(codigo);
		
		if(condicoes.size() == 1) {
			return condicoes.get(0);
		} else {
			return null;
		}
	}

}
